//导入模块
import axios from 'axios'
//导入qs模块，qs可以将字符串转换成为对象，可以将对象转化为字符串
import qs from 'qs'
import Vue from 'vue'
//获取基础路径
var rootApi = process.env.VUE_APP_ROOTAPI;
//为axios设置基础路径
axios.defaults.baseURL = rootApi;
//请求状态监测函数
var myAxios = {
    get:(url,params)=>{
    //    url += "?" + qs.stringify(params);
    //    return axios.get(url).then((response)=>{
    //         return response;
    //    })
        return axios.get(url,{params:params}).then((resp)=>{
            return resp;
        })

    },
    /**
     * url:请求地址
     * data：请求数据
     * config：axios特殊配置，主要用来处理上传文件时的配置
     */
    post:(url,data,config)=>{
        return axios.post(url,qs.stringify(data),config).
        then((response)=>{
            return response;
        })

    },

}
axios.interceptors.request.use(function(config){
    const token = localStorage.getItem('token');
    config.headers.common['Authorization'] = 'Bearer '+token;
    return config;
},function(error){
    return Promise.reject(error);
}
)
//响应的拦截器
axios.interceptors.response.use(function (response) {
    // Do something with response data
    return response;
  }, function (error) {
    // Do something with response error
    return Promise.reject(error);
  });

Vue.prototype.$http = myAxios;
export default myAxios